
這次的內容是滑鼠控制卷軸拖移
作品實做
const items = document.querySelector(".items"); //選取items區塊
 let startX = 0; //滑鼠點擊時前座標的預設值
 items.addEventListener("mousedown", startDrag); //監聽滑鼠按下
 items.addEventListener("mousemove", dragHandler);//滑鼠移動
 items.addEventListener("mouseup", stopDrug);//滑鼠放開
 items.addEventListener("mouseleave", stopDrug);//滑鼠離開區塊
      function startDrag(e) {
        items.classList.add("active"); //當滑鼠按下時增加class "active"
        startX = e.pageX; //抓取點擊時的座標X
      }
      function dragHandler(e) {
       //如果classList中沒有active則跳出函式
        if (!items.classList.contains("active")) return; 
        
        let move = e.pageX - startX; //移動的距離=滑動時的座標-最初的座標
        startX = e.pageX; //紀錄移動後的座標
        items.scrollLeft -= move; //設定滾動的距離
      }
  function stopDrug(e) {
        items.classList.remove("active"); //移除class為active的標籤
      }
[ Alex 宅幹嘛 ] 👨💻 深入淺出 Javascript30 快速導覽 | Day 27:Click and Drag
JS30